package com.pointi.emoTools;

public class emoConfig
{
	//____________________________________________________________________________________________________
	// Analysis Engine 
	
	//// Correction Filter // 2014.06.13
	
	private int CF_L2_THD = 5 ;
	private int CF_L3_TARGET_CNT = 1 ;
	private int CF_L3_NEIGHBOR_CNT = 3 ;
	
	/// Section FIX Filter // 2014.06.13
	
	private int SF_TARGET_CNT = 1 ;
	private int SF_NEIGHBOR_CNT = 1 ;
	
	//// V Table // 2014.06.11

	private int VE_LIMIT = 999 ; // K-Menas Algorithm Repeat Limiter
	private int VE_CNT = 2 ; // Target Clusters
	private int VE_HZ = 50 ; // Engine Frequency

	//// Y Table // 2014.06.11
	
	public static int FILTER_STRENGTH_OFF = 0 ;
	public static int FILTER_STRENGTH_VOICE_ONLY = 1 ;
	public static int FILTER_STRENGTH_ALL = 2 ;
	
	private int FILTER_STRENGTH = emoConfig.FILTER_STRENGTH_VOICE_ONLY ;
	
	//____________________________________________________________________________________________________
	// Basedata
	
	//// P Table // 2014.06.12
	
	private double AI_MIN = 10 ;
	private double AI_MAX = 90 ;
	
	public static int HT_TYPE_OFF = 0 ;				// MIN <= DUR <= MAX
	public static int HT_TYPE_LESS_THAN = 1 ;		// MIN <= HT <= start_time < TD <= MAX
	public static int HT_TYPE_NOT_MORE_THAN = 2 ;	// MIN <= HT < start_time <= TD <= MAX
	
	private int HT_CNT = 2 ;
	private int HT_TYPE = emoConfig.HT_TYPE_NOT_MORE_THAN ;
	
	//____________________________________________________________________________________________________
	//
	
	public emoConfig() { }
	
	public void CF_L2_THD(int value) { this.CF_L2_THD = value ; }
	public void CF_L3_TARGET_CNT(int value) { this.CF_L3_TARGET_CNT = value ; }
	public void CF_L3_NEIGHBOR_CNT(int value) { this.CF_L3_NEIGHBOR_CNT = value ; }
	public void SF_TARGET_CNT(int value) { this.SF_TARGET_CNT = value ; }
	public void SF_NEIGHBOR_CNT(int value) { this.SF_NEIGHBOR_CNT = value ; }
	public void VE_LIMIT(int value) { this.VE_LIMIT = value ; }
	public void VE_CNT(int value) { this.VE_CNT = value ; }
	public void VE_HZ(int value) { this.VE_HZ = value ; }
	public void FILTER_STRENGTH(int value) { this.FILTER_STRENGTH = value ; }
	public void AI_MIN(double value) { this.AI_MIN = value ; }
	public void AI_MAX(double value) { this.AI_MAX = value ; }
	public void HT_CNT(int value) { this.HT_CNT = value ; }
	public void HT_TYPE(int value) { this.HT_TYPE = value ; }
	
	public int CF_L2_THD() { return this.CF_L2_THD ; }
	public int CF_L3_TARGET_CNT() { return this.CF_L3_TARGET_CNT ; }
	public int CF_L3_NEIGHBOR_CNT() { return this.CF_L3_NEIGHBOR_CNT ; }
	public int SF_TARGET_CNT() { return this.SF_TARGET_CNT ; }
	public int SF_NEIGHBOR_CNT() { return this.SF_NEIGHBOR_CNT ; }
	public int VE_LIMIT() { return this.VE_LIMIT ; }
	public int VE_CNT() { return this.VE_CNT ; }
	public int VE_HZ() { return this.VE_HZ ; }
	public int FILTER_STRENGTH() { return this.FILTER_STRENGTH ; }
	public double AI_MIN() { return this.AI_MIN ; }
	public double AI_MAX() { return this.AI_MAX ; }
	public int HT_CNT() { return this.HT_CNT ; }
	public int HT_TYPE() { return this.HT_TYPE ; }
	
	public void fnPrintConfig()
	{
		String msg = "" ;
		msg = "CF_L2_THD : " + CF_L2_THD + "\n" +
				"CF_L3_TARGET_CNT : " + CF_L3_TARGET_CNT + "\n" +
				"CF_L3_NEIGHBOR_CNT : " + CF_L3_NEIGHBOR_CNT + "\n" +
				"SF_TARGET_CNT : " + SF_TARGET_CNT + "\n" +
				"SF_NEIGHBOR_CNT : " + SF_NEIGHBOR_CNT + "\n" +
				"VE_LIMIT : " + VE_LIMIT + "\n" +
				"VE_CNT : " + VE_CNT + "\n" +
				"VE_HZ : " + VE_HZ + "\n" +
				"FILTER_STRENGTH : " + FILTER_STRENGTH + "\n" +
				"AI_MIN : " + AI_MIN + "\n" +
				"AI_MAX : " + AI_MAX + "\n" +
				"HT_CNT : " + HT_CNT + "\n" +
				"HT_TYPE : " + HT_TYPE ;
		//System.out.println(msg) ;
	}
	
	//____________________________________________________________________________________________________
	// EOC
}
